package _my_demo;

/*
    水仙花数（Narcissistic Number）
    是指一个 n 位数，它的每个位上的数字的 n 次幂之和等于它本身

 */
public class Shuixianhua {
    public static void main(String[] args) {

    }
    public static boolean isShuixianhua(int num){
        if (num < 0) {
            return false;
        }

        int tempNum = num;  //保存原始数字
        int sum = 0;        //初始化累加和
        int n = String.valueOf(tempNum).length();   //计算数字位数

        while (tempNum > 0){
            int lastNum = tempNum % 10; //获取最后一位数字
            sum += Math.pow(lastNum, n);  //将最后一位数的n次方累加
            tempNum /= 10;  //去掉这个最后一个数
        }

        return sum == tempNum;      //判断累加和是否和原数字相等
    }
}
